package distribuicaoDeProfessores;

import java.util.ArrayList;

/**
 *
 * @author Jaime
 */
public class ProfessorAfinidadeAtividade {
    ArrayList<ProfessorAfinidade> professorXAfinidade;
    
    public ProfessorAfinidadeAtividade() {
        professorXAfinidade = new ArrayList<ProfessorAfinidade>();
    }
    
    void addProfessor(int afinidades[], Professor professor, AtividadesCadastradas atividades){
        //Se deve passar um professor(objeto), um vetor de inteiros do mesmo tamanho da quantidade de ativdiades
        if(afinidades.length != atividades.getAtividades().size()) return;
        professorXAfinidade.add(new ProfessorAfinidade(professor, atividades, afinidades));
    }
    
    void addProfessor(Professor professor, AtividadesCadastradas atividades){
        //Se deve passar um professor(objeto), um vetor de inteiros do mesmo tamanho da quantidade de ativdiades
      
        professorXAfinidade.add(new ProfessorAfinidade(professor, atividades));
    }
    
    void removeProfessor (int i){
        if (i < 0) return;
        professorXAfinidade.remove(i);
    }

    public ArrayList<ProfessorAfinidade> getProfessores() {
        return professorXAfinidade;
    }
    
    public int encontrarIndice (Professor professor){
        for (int i = 0; i < professorXAfinidade.size(); i++) {
            //javax.swing.JOptionPane.showMessageDialog(null,professorXAfinidade.get(i).getProfessor().toString() +"\n\n"+ professor.toString());
            if(professorXAfinidade.get(i).getProfessor().equals(professor))
                    return i;
    }
    return -1; //se não encontrar o professor retorna -1
  }
    
   
   public String verAfinidade(Professor professor){
       String texto = "";
       int indice = encontrarIndice(professor);
       texto+=professorXAfinidade.get(indice).getProfessor().getNome()+
              "\n\n\t" ;
       
       for(int i = 0; 
               i < professorXAfinidade.get(indice).getAtividades().getAtividades().size(); 
               i++) {
                        
                            texto+= professorXAfinidade.get(indice).getAtividades().getAtividades().get(i).getNome() +
                                    " -> " + professorXAfinidade.get(indice).getAfinidade()[i] + "\n\t";
                                    
           
       }
       
       return texto;
   }

   public String verAfinidade(int indice){
       String texto = "";
      
       texto+=professorXAfinidade.get(indice).getProfessor().getNome()+
              "\n\n\t" ;
       
       for(int i = 0; 
               i < professorXAfinidade.get(indice).getAtividades().getAtividades().size(); 
               i++) {
                        
                            texto+= professorXAfinidade.get(indice).getAtividades().getAtividades().get(i).getNome() +
                                    " -> " + professorXAfinidade.get(indice).getAfinidade()[i] + "\n\t";
                                    
           
       }
       
       return texto;
   }
}
